public class ThreadDemo2 {
    public static void main(String[] args){
        Thread t = new Thread(){
            @Override
            public void run() {
                // 默认情况下 isInterrupted() 是false的
                while(!Thread.currentThread().isInterrupted()){
                    System.out.println("线程正在运行...");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                        // 如果不加break 会触发异常,导致循环无法结束
                        break;
                    }
                }
            }
        };
        t.start();

        //主线程中 通过t.interrupt() 方法来设置这个标记位
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        // 这个操作就是把 Thread.currentThread().isInterrupted() 设置成true
        t.interrupt();
    }
}
